#include "VentanaCarteleraVideo.h"
#include <iostream>

VentanaCarteleraVideo::VentanaCarteleraVideo() {
	add(this->videos);
	set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
	// Crea el treemodel con las columnas especificadas en el .h y le setea
	// el treemodel al treeview
	modelo_Videos = Gtk::TreeStore::create(this->columnas);
	videos.set_model(modelo_Videos);

	// Agrega a la vista las columnas a mostrar
	videos.append_column("Curso", columnas.columna_codigoCurso);
	videos.append_column("Clase", columnas.columna_codigoClase);

	show_all_children();
}

void VentanaCarteleraVideo::agregarVideo(std::string codCurso, std::string codClase) {
	this->agregarFila(codCurso, codClase);
}

// Devuelve el codigo de curso y de clase para obtener el video del servidor
std::string VentanaCarteleraVideo::getCodVideo() {
	Glib::RefPtr<Gtk::TreeSelection> selector = videos.get_selection();
	Gtk::TreeModel::iterator it = selector->get_selected();
	std::string cod;
	if(it) {
		Gtk::TreeModel::Row row = *it;
		Glib::ustring cod_aux = row[columnas.columna_codigoCurso];
		if(cod_aux.compare("0") == 0)
			cod_aux.clear();
		else
			cod_aux += "_";
		cod_aux += row[columnas.columna_codigoClase];
		cod = cod_aux.raw();
	}
	return cod;
}

void VentanaCarteleraVideo::agregarFila(std::string codCurso, std::string codClase) {
	Gtk::TreeModel::Row fila_cursos = *(modelo_Videos->append());
	fila_cursos[columnas.columna_codigoCurso] = codCurso;
	fila_cursos[columnas.columna_codigoClase] = codClase;
}
